package com.lenovo.lcdm.dcm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lenovo.lcdm.dcm.dto.DummyConfigurableModelCatagoryDto;
import com.lenovo.lcdm.dcm.dto.DummyConfigurableModelDto;
import com.lenovo.lcdm.dcm.dto.DummyConfigurableModelFeatureDto;
import com.lenovo.lcdm.dcm.entity.DummyConfigurableModelProductFeaturesDesc;
import com.lenovo.lcdm.dcm.vo.DummyConfigurableModelProductFeaturesDescVo;

import java.util.List;
import java.util.Map;

/**
 * @author sunby1
 * @description 针对表【plm_dummy_configurable_model_product_features_desc】的数据库操作Service
 * @createDate 2023-12-27 15:29:12
 */
public interface DummyConfigurableModelProductFeaturesDescService extends IService<DummyConfigurableModelProductFeaturesDesc> {

    List<DummyConfigurableModelProductFeaturesDescVo> getFeatures(Long id);

    void delFeatureByCategoryIds(List<Long> ids);

    void copyFeatureByCategoryId(Long oldDcmcId, Long newDcmcId);

    List<DummyConfigurableModelFeatureDto> getFeatureDtos(Long id);

    void saveDcms(List<DummyConfigurableModelCatagoryDto> dummyConfigurableModelCatagoryDtos);

    void updateForCheckIn(DummyConfigurableModelDto dummyConfigurableModelDto);

    void updateDcms(DummyConfigurableModelFeatureDto targetFeatureDto);

    /**
     * 根据categoryId查询Features desc，并组装map
     * @param categoryIds
     * @return
     */
    Map<Long, List<DummyConfigurableModelProductFeaturesDesc>> getFeaturesDescMap(List<Long> categoryIds);
}
